# !/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
===========================
@Time : 2022/10/24 0024 20:40
@Author : 测试开发工程师
@File : 8. 条件查询.py
@Software: PyCharm
============================
"""

"""
条件查询语法
比较运算符 ： 
    比较符号：>  <   =   !=
    范围限定：between   and   模糊查询
    子集限定：in
    模糊查询：like "%xxx&"
    为空：IS NULL   、  IS NOT  NULL
    
逻辑运算符 
    and   or   not

通配符   
    like "%xxx&"
    

-- 条件查询

SELECT 列名 FROM 表名 WHERE 条件表达式

-- 查询出生日期晚于 1965-01-01 的员工编号、姓名和生日

SELECT 

    emp_no, first_name, last_name, birth_date

FROM

    employees

WHERE

    birth_date > '1965-01-01';

-- 查询年薪介于 70000 到 70003 之间的员工编号和年薪

SELECT 

    emp_no, salary

FROM

    salaries

WHERE

    salary BETWEEN 70000 AND 70003;

-- 查询入职日期为 1995-01-27 和 1995-03-20 日的员工信息

SELECT 

    *

FROM

    employees

WHERE

    hire_date IN ('1995-01-27', '1995-03-20');

-- 选择 hog_demo 为当前数据库

USE hog_demo;



-- 更新 student 表中 id 为 2 的 age 值为 NULL

UPDATE student SET age = NULL WHERE id = 2;



-- 查询学生表中年龄为 NULL 的学生信息

SELECT 

    *

FROM

    student

WHERE

    age IS NULL;

# ======================================== 逻辑运算符  ====================================================

-- 查询名字为 Lillian 并且姓氏为 Haddadi 的员工信息

SELECT 

    *

FROM

    employees

WHERE

    first_name = 'Lillian'

        AND last_name = 'Haddadi';




-- 查询名字为 Lillian 或者 姓氏为 Terkki 的员工信息

SELECT 

    *

FROM

    employees

WHERE

    first_name = 'Lillian'

        OR last_name = 'Terkki';



-- 查询名字为 Lillian 并且性别不是女的员工信息

SELECT 

    *

FROM

    employees

WHERE

   first_name = 'Lillian'

   and NOT gender='F';


# =======================================   通配符(模糊匹配)  =============================================

% ： 匹配任意多个字符
_ : 匹配一个字符


-- 查询名字中包含 fai 的员工的信息

SELECT 

    *

FROM

    employees

WHERE

    first_name LIKE '%fai%';



-- 查询名字中 fa 开头的名字长度为 3 位的员工信息

SELECT 

    *

FROM

    employees

WHERE

    first_name LIKE 'fa_';


"""
